JdbcTemplate দিয়ে CRUD অপারেশন পরিচালনা

Java Technologies - স্প্রিং জেডিবিসি (Spring JDBC) JdbcTemplate এর ভূমিকা এবং ব্যবহার |
77
77

স্প্রিং জেডিবিসি-র মাধ্যমে JdbcTemplate ব্যবহার করে CRUD (Create, Read, Update, Delete) অপারেশন পরিচালনা করা খুবই সহজ। এখানে প্রতিটি অপারেশনের জন্য ধাপে ধাপে উদাহরণ দেওয়া হলো।


প্রয়োজনীয় সেটআপ

  1. ডিপেন্ডেন্সি সংযোজন:
    Maven-এ স্প্রিং জেডিবিসি এবং ডাটাবেস ড্রাইভার যোগ করুন।
    (উদাহরণস্বরূপ, MySQL-এর জন্য)

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>5.x.x</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.x.x</version>
    </dependency>
    
  2. ডাটাসোর্স কনফিগারেশন:

    @Bean
    public DataSource dataSource() {
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql://localhost:3306/your_database");
        dataSource.setUsername("your_username");
        dataSource.setPassword("your_password");
        return dataSource;
    }
    
  3. JdbcTemplate সেটআপ:

    @Bean
    public JdbcTemplate jdbcTemplate(DataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }
    

CRUD অপারেশন উদাহরণ

1. Create (Insert Data)

একটি নতুন রেকর্ড সন্নিবেশ করা।

public void addUser(String name, String email) {
    String sql = "INSERT INTO users (name, email) VALUES (?, ?)";
    jdbcTemplate.update(sql, name, email);
}

ব্যবহার:

addUser("John Doe", "john@example.com");

2. Read (Retrieve Data)

সব রেকর্ড পড়া:
public List<User> getAllUsers() {
    String sql = "SELECT * FROM users";
    return jdbcTemplate.query(sql, (rs, rowNum) -> new User(
        rs.getInt("id"),
        rs.getString("name"),
        rs.getString("email")
    ));
}
একটি নির্দিষ্ট রেকর্ড পড়া:
public User getUserById(int id) {
    String sql = "SELECT * FROM users WHERE id = ?";
    return jdbcTemplate.queryForObject(sql, new Object[]{id}, (rs, rowNum) -> new User(
        rs.getInt("id"),
        rs.getString("name"),
        rs.getString("email")
    ));
}

ব্যবহার:

User user = getUserById(1);
System.out.println(user.getName());

3. Update (Update Data)

একটি রেকর্ড আপডেট করা।

public void updateUser(int id, String name, String email) {
    String sql = "UPDATE users SET name = ?, email = ? WHERE id = ?";
    jdbcTemplate.update(sql, name, email, id);
}

ব্যবহার:

updateUser(1, "John Smith", "johnsmith@example.com");

4. Delete (Remove Data)

একটি রেকর্ড মুছে ফেলা।

public void deleteUser(int id) {
    String sql = "DELETE FROM users WHERE id = ?";
    jdbcTemplate.update(sql, id);
}

ব্যবহার:

deleteUser(1);

সম্পূর্ণ উদাহরণ

User Class:
public class User {
    private int id;
    private String name;
    private String email;

    // Constructor
    public User(int id, String name, String email) {
        this.id = id;
        this.name = name;
        this.email = email;
    }

    // Getters and Setters
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}
Service Class:
@Service
public class UserService {
    private final JdbcTemplate jdbcTemplate;

    public UserService(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }

    // CRUD methods here
}

ট্রানজেকশন ম্যানেজমেন্ট (ঐচ্ছিক):

স্প্রিং ট্রানজেকশন ম্যানেজমেন্ট যোগ করতে @Transactional অ্যানোটেশন ব্যবহার করতে পারেন।

@Transactional
public void performMultipleOperations() {
    addUser("Alice", "alice@example.com");
    updateUser(2, "Bob", "bob@example.com");
    deleteUser(3);
}

উপসংহার:

JdbcTemplate ব্যবহার করে CRUD অপারেশন খুব দ্রুত এবং সহজে সম্পন্ন করা যায়। এটি বিশেষত তখন কার্যকর, যখন Hibernate বা JPA-এর মতো ভারী ORM-এর প্রয়োজন নেই।

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion